Auto merge of #4159 - matklad:arch, r=alexcrichton
authorbors <bors@rust-lang.org>
Wed, 14 Jun 2017 03:01:33 +0000 (03:01 +0000)
committerbors <bors@rust-lang.org>
Wed, 14 Jun 2017 03:01:33 +0000 (03:01 +0000)
commit46252c6476a80a36e1a66fa0f38d3a5996fdc026
tree78bc791604f3eaba6e857da1cce1858ad5218e27
parent3ca6a20f1098a9efb36d4583491d229af8eeb8be
parent8495aa3fb1654c25692cd048c0b178abd7284c9a
Auto merge of #4159 - matklad:arch, r=alexcrichton

Blurb about Cargo inner workings

Hi!

At today's dev tools meetings we've discussed how we can foster contributions to rust dev tools, and I've complained that some tools are difficult to contribute to because it's difficult to learn how they work because there are no docs, and some other people complained that Cargo is difficult to contribute to because it is rather complex. And, as a member of Cargo team, I thought that I am probably responsible for fixing that :)

So, here's my take at making it easier to dive in into Cargo! I've written a small birds eye overview of the current architecture of Cargo (more like a list of things to look at while reading the code actually :)

In general, I am skeptical about documenting internals of binaries (docs will become obsolete, and very fast), but such a high level picture should be pretty robust (I deliberately avoided linking to the actual source code), and so pretty low-effort to maintain. We do something similar for IntelliJ Rust: https://github.com/intellij-rust/intellij-rust/blob/master/ARCHITECTURE.md as well.

r? @alexcrichton